//
//  CreateListData.swift
//  hello
//
//  Created by yafei li on 2025/10/9.
//

import Fluent

/*
 # 运行所有未应用的迁移
 swift run hello migrate
  
 */

// CreateListData 迁移用于创建 "lists" 表
struct CreateListData: AsyncMigration {
  // prepare(): 用于应用数据库更改（如创建表、添加列等）
    func prepare(on database: any Database) async throws {
      // prepare() 方法创建了一个名为 "user" 的表，并定义了 id、name 和 age 字段
        try await database.schema("lists") // 定义表名
            .id() // 定义 id 列，自动生成主键
            .field("random", .string, .required) // 定义 random 列，类型为字符串，必填
            .create() // 创建表
    }
    // revert(): 用于撤销这些更改（如删除表、删除列等）
    func revert(on database: any Database) async throws {
      // revert() 方法 删除这个 "user" 表
        try await database.schema("lists").delete() // 删除表
    }
}
